/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfThree = function (n) {
  // 3的幂次方必须是正数
  if (n <= 0) {
    return false;
  }

  // 持续除以3，直到不能整除为止
  let num = n;
  while (num % 3 === 0) {
    num /= 3;
  }

  // 如果最终结果是1，说明n是3的幂次方
  return num === 1;
};

// 测试案例
console.log(isPowerOfThree(27)); // true
console.log(isPowerOfThree(0)); // false
console.log(isPowerOfThree(9)); // true
console.log(isPowerOfThree(45)); // false
